Skip to content

Add Copilot model selection and HydraFusion option - #33

Draft
MonaDevAI wants to merge 5 commits into
mainfrom
users/mobiswal/hydrafusion-model-option
Draft

MonaDevAI wants to merge 5 commits into
mainfrom
users/mobiswal/hydrafusion-model-option

Conversation

@MonaDevAI

Copy link
Copy Markdown
Contributor

Summary

  • add generic GitHub Copilot CLI model selection through --model and FIXLAB_MODEL
  • expose HydraFusion as a research-preview dashboard preset and automatically add --experimental
  • persist the selected model across queued jobs and resumed Copilot sessions
  • reject model selection for Agency and unsafe model identifiers
  • document installation and usage, including the HydraFusion preview caveat

Validation

  • npm run validate
  • 105 Node tests passed
  • 8 Playwright tests passed
  • lint, typecheck, formatting, documentation, policy, self-healing, and package checks passed

Notes

  • this is intentionally a draft PR and does not modify main
  • HydraFusion availability remains controlled by the installed GitHub Copilot CLI and account

Support generic Copilot model configuration and expose HydraFusion as a research-preview dashboard option while preserving the selected model across queued and resumed jobs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: f50bb86e-7160-45f2-a350-4509a74d53c5
Copilot AI balanced review requested due to automatic review settings September 29, 2026 21:40

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Persisted Copilot models can bypass Agency runtime validation during restoration, and key restart and queue lifecycles lack regression coverage.

Review effort: Balanced
Findings: 1 Medium severity · 2 Low severity

Open (3)
What changed in this PR

Adds Copilot model selection across FixLab’s CLI, dashboard, chat, and job persistence flows, including HydraFusion preview support.

Changes:

  • Adds --model/FIXLAB_MODEL handling and validation.
  • Persists and displays per-job model selections.
  • Documents and tests HydraFusion’s experimental invocation.
File Description
bin/​fixlab.js Adds CLI model parsing and propagation.
dashboard/​server.js Validates, persists, and executes selected models.
dashboard/​chat.js Includes models in chat-created jobs.
dashboard/​public/​index.html Adds the model selection field.
dashboard/​public/​app.js Renders and submits model selections.
test/​fixlab-cli.test.js Tests CLI model behavior.
test/​dashboard-server.test.js Tests invocation, API, resume, and chat behavior.
e2e/​dashboard-readiness.spec.js Verifies the dashboard’s default model.
README.md Introduces HydraFusion usage.
docs/​installation.md Documents model configuration and invocation.
docs/​architecture.md Describes model persistence and transport semantics.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread dashboard/server.js
const profile = loadRepositoryProfile(repository);
const restored = {
...snapshot,
model: snapshot.model ?? "",
Comment thread dashboard/server.js
Comment on lines +100 to +102
throw new Error(
"model must be 1-128 letters, numbers, dots, underscores, slashes, or hyphens"
);
}
});

test("dashboard preserves a Copilot model when resuming a job", async () => {
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 9168917c-fadb-448b-afda-9613a02dd02d
Copilot AI balanced review requested due to automatic review settings September 30, 2026 16:25

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The browser selector ignores the configured dashboard default model, so --model hydrafusion does not affect browser-submitted jobs.

Review effort: Balanced
Findings: 2 Medium severity · 2 Low severity

Open (4)

Comment thread dashboard/public/app.js
return;
}
if (!modelInput.dataset.initialized) {
modelInput.value = "";
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 9168917c-fadb-448b-afda-9613a02dd02d
Copilot AI balanced review requested due to automatic review settings September 30, 2026 16:53

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The dashboard selection workflow lacks submission coverage, and the changelog overstates HydraFusion’s progress behavior.

Review effort: Balanced
Findings: 2 Medium severity · 3 Low severity

Open (5)
Previously missed (1)

In code that hasn't changed since last review

Low severity Add HydraFusion selection and payload submission coverage

dashboard/​public/​app.js:1149

The dashboard preset is only checked for visibility: the Playwright test never selects HydraFusion or verifies the submitted job payload, while the server test exercises only an omitted model/default. Add a focused submission test that selects this option and asserts model: "hydrafusion" reaches /api/jobs (and ideally the executor), so the primary UI behavior cannot regress unnoticed.

Comment thread CHANGELOG.md
Comment on lines +9 to +11
- Require the first FixLab stage marker before any model tool call so
HydraFusion reports dashboard stage progress instead of batching it at the
end of its orchestration.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 9168917c-fadb-448b-afda-9613a02dd02d
Copilot AI balanced review requested due to automatic review settings September 30, 2026 18:04

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Browser jobs can discard the configured server model, and marker splitting can incorrectly alter stage outcomes.

Review effort: Balanced
Findings: 1 High severity · 2 Medium severity · 3 Low severity

Open (6)
Previously missed (1)

In code that hasn't changed since last review

Low severity Preserve HydraFusion batching caveat in changelog

CHANGELOG.md:11

This claims the new instruction prevents HydraFusion from batching progress, but the installation guide correctly warns that HydraFusion may still batch intermediate output while tools run. A prompt instruction cannot guarantee the orchestrator's streaming behavior, so the changelog should preserve that caveat rather than promise the batching problem is resolved.

Comment thread dashboard/server.js
Comment on lines +1740 to +1742
return line
.split(/(?=FIXLAB_(?:STAGE|ACTIVITY|BUG|TEST)(?:\||\s))/)
.filter(Boolean);

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants